Шаг 60 - Сравнение хранилищ и файловой системы

Я уже говорил, что хранилища позволяют организовать каталоги и файлы в одном файле. Тем самым Вы создаете свою файловую систему. Программируя под DOS бухгалтерские программы, а в частности складского учета приходилось под каждый месяц заводить файл или каталог с проводками. Со временем этих файлов становилось все больше и больше. Переносить их было неудобно. Вы можете увидеть во многих серьезных продуктах кучу папочек, в которых куча файлов. Вот этого как раз и позволяют избежать хранилища. Я всегда за то, чтобы в программе было как можно меньше файлов. Файл с данными должен быть один. А не куча связанных. Итак, давайте сравним хранилище с файловой системой.

хранилища (storages) - каталоги
потоки (streams) - файлы

Прямая корреляция прослежваеться и при разборе функций работы с хранилищами:

Функция IStorage Эквивалентная функция прерывания 21h DOS Описание
CreateStream 5Bh Создать новый файл Создать новый поток
OpenStream 3Dh Открыть файл с помощью указателя Открыть существующий поток
CreateStorage 39h Создать каталог Создать новое хранилище
OpenStorage 3Bh Сменить текущий каталог Открыть существующее хранилище
EnumElements 4Eh Найти первый файл
4Fh Найти следующий файл
Перенумеровать потоки в хранилище
RenameElement 56h Переименовать файл Переименовать поток
DestroyElement 41h Уничтожить файл Уничтожить поток

Помимо всего прочего в файлах хранилища находится справочная информация. Эта информация видна в диалоговом окне Summary Info:

60_1.gif (6359 b)

Именно на основе этой информации и организован быстрый поиска документов в Microsoft Office. При создании хранилища этот раздел создается автоматически. Посмотрите свойства хранилища, которое мы создавали. Там то же есть этот блок.

60_2.gif (4706 b)

Данный механзм очень похож на, то как в Norton Commander можно было заполнить описание для папочки. Помните еще ??? Файл можно было создать и при просмотре видеть описание папки. Вот это практически тоже самое.

Hosted by uCoz